As wireless networks have become ubiquitous, users have become reliant on their wireless devices and the amount of data traversing wireless networks continues to grow. In order to support a large amount of data, turbo codes that provide a gain in coding efficiency may be used. However, the decoding by a receiver device may be inefficient. For example, the decoding may include: receiving a code (e.g., turbo coded data), storing in memory, chopping the received code into segments for processing by a turbo decoder, and feeding each segment to a turbo decoder for decoding. The turbo decoding of a segment requires retrieving samples from memory. As such, memory contention may occur.
One approach to address the memory contention is to turbo decode each segment by accessing memory locations sequentially (i.e., one memory location at a time) and reading the samples stored at the accessed location. However, the sequential reading of samples of data from memory limits the speed of the turbo decoder. As such, this approach is sub-optimal for receivers intended to support applications with high data rates, e.g., high definition video applications, gaming applications, and the like.
To facilitate reading, identical reference numbers are used to designate elements that are common to various figures, where possible.